package primalgorithms.tree;

public class _05SortedArrayToBST {
    public TreeNode sortedArrayToBST(int[] nums) {
        int len = nums.length;
        if (len == 0){
            return null;
        }
        return sortedArrayToBST(nums,0,len-1);
    }

    private TreeNode sortedArrayToBST(int[] nums, int start, int end) {
        //递归算法yyds！！！
        if (start > end){
            return null;
        }
        int minIndex = (start + end) >> 1;
        TreeNode root = new TreeNode(nums[minIndex]);
        root.left = sortedArrayToBST(nums,start,minIndex-1);
        root.right = sortedArrayToBST(nums,minIndex+1,end);
        return root;
    }
}
